package cc.linker.steplink.crm.merchant.service.integral;

import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpServletResponse;
import java.util.*;

public interface IntegralGoodsService {

    /**
     * 商品列表
     *
     * @param ：pageIndex   页码
     * @param ：pageSize    页面大小
     * @param ：goodsstatus 状态
     * @param ：key         关键字
     */
    Object getGoodsList(Map<String, Object> params);

    /**
     * 商品列表(小B)
     *
     * @param ：pageIndex   页码
     * @param ：pageSize    页面大小
     * @param ：goodsstatus 状态
     * @param ：key         关键字
     */
    Object getGoodsListByAdminId(Map<String, Object> params);

    /**
     * 积分商品排序
     *
     * @param ： goodsId     商品 id
     * @param ： sort        当前商品排序
     * @param ： type        0 向下 1 向上
     */
    void updateSort(Long goodsId, Integer sort, Integer type, String orgId);


    /**
     * 积分商品删除
     *
     * @param ： goodsId 商品 id
     */
    void delete(Long goodsId);

    /**
     * 积分商城规则
     */
    Object getrule(String orgId, Integer ruleType);

    /**
     * 积分商城规则保存
     *
     * @param ：rule  规则富文本
     * @param ：orgId 机构id
     */
    void saverule(Map<String, Object> param);

    void updateStatus(Map<String, Object> param, Boolean saler);

    void save(Map<String, Object> params, String orgId);

    void saveByAdminId(Map<String, Object> params, String orgId);

    Object getGoodsInfo(Long goodsId);

    List<Map<String, Object>> exchangelist(Map<String, Object> params);

    void exportExchangelist(Map<String, Object> params, HttpServletResponse response);

    void updateGoodsToIntegralGoods(Long goodsId, Map<String, Object> params, List<Map<String, Object>> newSku, Object goodsSpec);

    PageInfo allianceShareList(Map<String, Object> params);

    List<Map<String, Object>> getMyShareGoodsList(Map<String, Object> param);

    Integer saveSharing(Map<String, Object> param);

    void addToMall(Map<String, Object> params);
}
